fn main() {
    let a = 10;
    let b = 4;

    let result = silly_sub(a, b);
    println!("{} minus {} is {}", a, b, result);
}
// 傻瓜式相减 a被减数 b减数
fn silly_sub(a: i32, b: i32) -> i32 {
    let mut result = 0;
    // 外部循环，result初始为0，先通过循环是result递加为被减数a
    'increment: loop {
        // 当result为被减数a
        if result == a {
            // dec 为 减数b
            let mut dec = b;
            // 内部循环 递减
            // 编译会有警告，因为内部循环标签未使用
            'decrement: loop {
                if dec == 0 {
                    // 当减数为0，直接跳出外部循环
                    break 'increment;
                } else {
                    result -= 1;
                    dec -= 1;
                }
            }
        } else {
            result += 1;
        }
    }

    result
}